package server.controlleurs.lobby;

import java.rmi.AlreadyBoundException;
import java.rmi.NotBoundException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

import server.controlleurs.partie.IPartieControlleur;
import server.models.participant.IParticipant;
import server.models.participant.Participant;
import server.models.partie.IPartie;
import server.models.partie.Partie;

public interface ILobbyControlleur extends Remote {
	public void ajouterParticipant(Participant participant) throws RemoteException;
	public void retirerParticipant(Participant participant) throws RemoteException;
	public IPartie joindrePartie(Participant participant) throws RemoteException, AlreadyBoundException, NotBoundException;
	public ArrayList<IPartieControlleur> getListePartieControlleur() throws RemoteException;
	public ArrayList<IParticipant> getListeParticipants() throws RemoteException;
	public IPartie getPartie(int i) throws RemoteException;
}
